﻿/**
 * 覆盖module.js中同名变量
 * @type String
 */
module.rootUrl = 'permissionCtl/';
// 新增的属性,权限树id
module.authorityTreeId = 'authoritytree';

function formatterStatus(value, row, index){
	return value==1 ?"<img src=\"res/img/ok.png\"/>":"<img src=\"res/img/cross.png\"/>";
}

/**
 * 打开信息编辑框
 * 
 * 覆盖module.js中同名方法
 */
module.openDialog = function () {
	// 取消选择所有已选择的权限
	var tree = $('#' + module.authorityTreeId);
	var nodes = tree.tree('getChecked');
	for (var index = 0; index < nodes.length; index++) {
		tree.tree('uncheck', nodes[index].target);
	}
	// 清空表单
	$('#' + module.fromId).form('clear');
	$('#' + module.dialogId).dialog('open');
};

/**
 * 表单提交
 * 
 * 覆盖module.js中同名方法
 */
module.edit = function () {
	var isValid = $('#' + module.fromId).form('validate');
	if (isValid){
		var data = $('#' + module.fromId).serialize();
		
		var nodes = $('#' + module.authorityTreeId).tree('getChecked');
		for (var index = 0; index < nodes.length; index++) {
			data += '&aid=' + nodes[index].id;
		}
		Common.Util.ajax(module.rootUrl + module.modifyUrl, data, function (msg) {
				module.reloadDatagrid();
				module.closeDialog();
			}
		);
	}
};

/**
 * 数据查询
 * 
 * 覆盖module.js中同名方法
 */
module.queryDatagrid = function () {
	var rolename = $('#rolename').textbox('getValue');
	var authorityname = $('#authorityname').textbox('getValue');
	var filters = [];
	
	// 判断查询参数是否为空
	if (!Common.Util.isEmpty(rolename)) {
		filters.push(add_condition("and", "包含", "pr", "r_name", rolename, "", "string"));
	}
	if (!Common.Util.isEmpty(authorityname)) {
		filters.push(add_condition("and", "包含", "pa", "a_name", authorityname, "", "string"));
	}
	
	// 执行查询
	fun_query(module.datagrid, filters);
	filters = null;
};

/**
 * 角色下拉框数据过滤
 * 
 * @param data
 *            过滤的数据
 * @returns 返回过滤后的数据
 */
function roleLoadFilter(data) {
	return data.rows;
}

/**
 * 树菜单树选择事件
 * 
 * 覆盖module.js中同名方法
 * 
 * @param node 节点数据
 */
module.onSelectTree = function (node) {
	// 判断是否为根节点
	if (!node.id || node.id == -1) {
		// 如果角色Id为空或者为-1则刷新列表
		module.reloadDatagrid();
	} else {
		// getAllChildNodeId函数在tree.js
		//var ids = getAllChildNodeId(this, node);
		var filters = [];
		// 判断是否为叶子节点,如果是叶子节点则没有子节点
		/*if ($(this).tree('isLeaf', node.target)) {
			filters.push(add_condition("and", "等于", "pr", "id", ids.join(), "", "number"));
		} else {
			filters.push(add_condition("and", "in", "pr", "id", ids.join(), "", "string"));
		}*/
		filters.push(add_condition("and", "等于", "pr", "id", node.id, "", "number"));
		fun_query(module.datagrid, filters);
	}
};